The emergence of new services and the continuous increase in demand for all types of wireless services are raising the demand for large increase in capacity, data rates, and multimedia services. With the introduction of the third-generation system IMT-2000, the second-generation mobile system capabilities (voice and low-rate data) are extended, adding multimedia capabilities to second-generation platforms such as support for high bit rates and introduction of packet data (refer to [1] ETSI, “The ETSI UMTS Terrestrial Radio Access (UTRA) ITU-R RTT Candidate Submission,” June 1998; [2] ARIB, “Japan's Proposal for Candidate Radio Transmission Technology on IMT-2000: W-CDMA,” June 1998; and [3] TIA, “The cdma2000ITU-R RTT Candidate Submission,” June 1998). Especially, the third-generation system provides a flexible support of multi-rate services. Multi-rate design means multiplexing different connections with different qualities of services (QoS) requirements in a flexible and spectrum-efficient way.
Variable-length spreading and multi-code techniques are two major approaches used in IMT-2000 with code-division multiple access (CDMA) to support a variety of data services from low to high bit rates (refer to E. Dinan and B. Jabbari, “Spreading Codes for Direct Sequence CDMA and Wideband CDMA Cellular Networks,” IEEE Commun. Mag., vol. 36, no. 9, pp. 48-54, September 1998; and 3GPP TR 25.922 v. 0.5.0, “Radio Resource Management Strategies,” October 1999). The variable-length spreading CDMA employs multiple spreading factors for multiple-rate transmission, while multi-code CDMA allocates multiple codes to high data rate services. In order to provide mutual orthogonality between the users of the same cell while maintaining mutual randomness between the users of different cells, a flexible system operation mode, so called “multiple spreading” or “two-layer spreading”, is adopted in IMT-2000 with CDMA (refer to E. Dinan and B. Jabbari, “Spreading Codes for Direct Sequence CDMA and Wideband CDMA Cellular Networks,” IEEE Commun. Mag., vol. 36, no. 9, pp. 48-54, September 1998; and 3GPP TR 25.922 v. 0.5.0, “Radio Resource Management Strategies,” October 1999). Multiple spreading consists of two operations. The first operation is a channelization operation, which transforms every data symbol into a number of chips. The number of chips per data symbol is called the spreading factor. Orthogonal variable spreading factor codes are employed as channelization codes to preserve the orthogonality between the different downlink channels. The second operation is a scrambling operation, where a scrambling code is applied to a spread signal. Gold codes or pseudo random sequences with a limited cross-correlation are employed as scrambling codes to preserve the randomness between the users of different cells.
In IMT-2000, a spreaded bandwidth is the same for all users. Therefore, multiple-rate transmission needs multiple SFs or multi-codes. However, OVSF codes are valuable resources in the system. For a given SF, the number of the available codes is limited. Thus, an efficient code allocation strategy to support different data rates becomes ever important. A proper code allocation algorithm is to support as many users as possible with less complexity. For example, a random assignment of codes to low data rate users with large SFs may preclude the assignment of the codes with small SFs (see K. Gilhousen, “System and Method for Orthogonal Spread Spectrum Sequence Generation in Variable Data Rate Systems,” U.S. Pat. No. 5,751,761, issued in May 1998). Let utilization be defined as the ratio of an assigned bandwidth to an overall bandwidth. A combination of multi-code and variable-length spreading can provide a higher utilization. However, the use of multi-code technique will have an impact on the mobile receiver's complexity. Hence, the number of codes to support the multi-code capability in each mobile station is limited. Therefore, “code reassignment” among the active users seems unavoidable in order to improve the system utilization. The OVSF codes that preserve the orthogonality between different rates and SFs are presented in the above listed papers of E. Dinan and B. Jabbari; K. Gilhousen, and F. Adachi, M. Sawahashi, and K. Okawa and paper of 3GPP TR 25.922 v. 0.5.0, “Radio Resource Management Strategies,” October 1999. Each layer in the code tree defines channelization codes of length SF. Any two codes at the same layers are orthogonal and any two codes at the different layers are orthogonal except for the case that one of the two codes is on the path from the other code to the root of the tree or in the sub-tree below the other code. However, the code tree is huge as any of the channelization codes can use SF from 4 to 256 in IMT-2000. An efficient method to allocate a code to a user according to his requested data rate is needed. Furthermore, an efficient method for generating the required OVSF codes instead of maintaining the whole code tree in the memory of the system is also needed.